home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / efs / Makefile.z / Makefile
Encoding:
Makefile  |  1998-05-21  |  10.0 KB  |  315 lines

  1. ###############################################################################
  2. #
  3. # File:         Makefile
  4. # Release:      $efs release: 1.15 $
  5. # Version:      $Revision: 1.20 $
  6. # RCS:
  7. # Description:  Makefile for byte-compiling efs and dired.
  8. # Author:       Andy Norman, HPLabs, Bristol, UK.
  9. # Created:      Sat Jan 30 00:18:56 1993
  10. # Language:     Text (make script)
  11. #
  12. ###############################################################################
  13.  
  14. ## Installation Instructions
  15. ############################
  16. # 1. Edit the configuration variables below.
  17. #    EMACS should be the name of the emacs program on your system.
  18. #    VERSION should be the emacs version. This must be one of:
  19. #      18     for all versions of Emacs 18.
  20. #      19     for all versions of the original GNU Emacs from FSF between
  21. #             19.1 and 19.22, inclusive.
  22. #      19.23  for version 19.23 and later of the original GNU Emacs from FSF
  23. #      l19.11 for XEmacs 19.11 trhu 19.14
  24. #      x19.15 for XEmacs 19.15
  25. #      x20    for XEmacs 20.1 and later
  26. #    LISPDIR should be the directory in which you want the .elc
  27. #      files installed.
  28. #    BDIR should be the directory containing the .elc files for the
  29. #      byte-compiler.  Although efs byte-compiles and works with the
  30. #      Emacs V18 byte-compiler, it is strongly recommended to use
  31. #      Jamie Zawinski's V19 byte-compiler. This byte-compiler is
  32. #      standard with Lucid Emacs, XEmacs, and GNU Emacs V19, so in this
  33. #      case you can set BDIR to nothing.
  34. #    VMDIR should be set to the directory containing the .elc files for
  35. #      VM. If you aren't using VM, then set this to nothing.
  36. #
  37. # 2. To byte-compile the entire package, except for VM support (efs-vm.el),
  38. #    run make VERSION, where VERSION is the emacs version that you are
  39. #    compiling for.  It must be one of:
  40. #    18     for Emacs 18
  41. #    19     for the original GNU Emacs from FSF, versions 19.1 through
  42. #             19.22, inclusive
  43. #    19.23  for the original GNU Emacs from FSF, version 19.23 and later.
  44. #    l19.11 for Lucid XEmacs 19.11 thru 19.14
  45. #    x19.15 for XEmacs 19.15
  46. #    x20    for XEmacs 20.1 and later
  47. #
  48. #    If you have set the VERSION variable correctly, then typing just    
  49. #    make will suffice.
  50. #
  51. # 3. To byte-compile everything, including VM support, run make all.
  52. #
  53. # 4. To byte-compile all the efs files, except for VM support,
  54. #    run make efs.
  55. #
  56. # 5. To byte-compile only the core efs files run make core.
  57. #
  58. # 6. To byte compile an efs-XXX.el file, run make XXX.
  59. #    This means that VM support can be compiled by running make vm.
  60. #
  61. # 7. To byte compile only dired, run make dired.
  62. #
  63. # 8. To byte-compile only efs-auto.el, for autoloading efs, run make auto.
  64. #
  65.  
  66. ## Edit these variables according to your configuration.
  67.  
  68. # Name of Emacs program
  69. EMACS=xemacs
  70. # Emacs version. This must be set to one of 18, 19, 19.23,
  71. # l19.11, x19.15
  72. VERSION=x19.15
  73. # Current working directory
  74. CWD=`pwd`
  75. # Directory in which to install the lisp files
  76. LISPDIR=
  77. # Directory in which to install the info files
  78. INFODIR=
  79. # Directory in which to install the Texinfo file
  80. TEXIDIR=
  81. # Directory containing byte-compiler.  This is used by fixup.el
  82. BDIR=
  83. # Directory containing VM's .elc files.
  84. VMDIR=
  85. # Bourne shell executable, please.
  86. SHELL=/bin/sh
  87.  
  88. ###### It should not be necessary to edit anything below this line. ######
  89.  
  90. COREOBJS = efs-defun.elc efs-ovwrt.elc efs-fnh.elc efs-cu.elc efs-netrc.elc \
  91.            efs.elc efs-dired.elc efs-report.elc \
  92.            efs-cp-p.elc \
  93.        efs-dump.elc
  94. CORESRC = efs-defun.el efs-ovwrt.el efs-fnh.el efs-cu.el efs-netrc.el \
  95.           efs.el efs-dired.el efs-report.el \
  96.           efs-cp-p.el \
  97.       efs-dump.el
  98. DOBJS = default-dir.elc dired.elc dired-mob.elc dired-oas.elc \
  99.         dired-rgxp.elc dired-shell.elc dired-vir.elc dired-xy.elc \
  100.         dired-grep.elc dired-uu.elc \
  101.         dired-cmpr.elc dired-diff.elc dired-help.elc dired-sex.elc
  102. DSRC = default-dir.el dired.el dired-mob.el dired-oas.el \
  103.        dired-rgxp.el dired-shell.el dired-vir.el dired-xy.el \
  104.        dired-grep.el dired-uu.el \
  105.        dired-cmpr.el dired-diff.el dired-help.el dired-sex.el
  106. EFSOBJS = $(COREOBJS) efs-auto.elc \
  107.           efs-cms.elc efs-cms-knet.elc efs-dos-distinct.elc efs-nos-ve.elc \
  108.           efs-gwp.elc efs-kerberos.elc efs-hell.elc efs-ka9q.elc \
  109.           efs-mpe.elc efs-mts.elc efs-mvs.elc efs-netware.elc \
  110.           efs-pc.elc efs-ti-explorer.elc efs-ti-twenex.elc \
  111.           efs-tops-20.elc efs-dl.elc efs-guardian.elc efs-coke.elc \
  112.           efs-vms.elc efs-vos.elc efs-plan9.elc efs-ms-unix.elc
  113. EFSSRC = $(CORESRC) efs-auto.el \
  114.           efs-cms.el efs-cms-knet.el efs-dos-distinct.el efs-nos-ve.el \
  115.           efs-gwp.el efs-kerberos.el efs-hell.el efs-ka9q.el \
  116.           efs-mpe.el efs-mts.el efs-mvs.el efs-netware.el \
  117.           efs-pc.el efs-ti-explorer.el efs-ti-twenex.el \
  118.           efs-tops-20.el efs-dl.el efs-guardian.el efs-coke.el \
  119.           efs-vms.el efs-vos.el efs-plan9.el efs-ms-unix.el
  120. VMOBJS = efs-vm.elc
  121. VMSRC = efs-vm.el
  122. MULEOBJS = dired-mule.elc efs-dired-mule.elc
  123. MULESRC = dired-mule.el efs-dired-mule.el
  124. GEOBJS = dired-fsf.elc \
  125.      passwd.elc diff.elc auto-save.elc \
  126.      $(MULEOBJS)
  127. GESRC = dired-fsf.el \
  128.     passwd.el diff.el auto-save.el \
  129.     $(MULESRC)
  130. XEOBJS = dired-faces.elc dired-xemacs.elc \
  131.     $(VMOBJS)
  132. XESRC = dired-faces.el dired-xemacs.el \
  133.     $(VMSRC) $(MULESRC)
  134. OBJS = $(DOBJS) $(EFSOBJS) $(VMOBJS) $(GEOBJS) $(XEOBJS) \
  135.        efs-18.elc efs-19.elc efs-19.23.elc \
  136.        efs-l19.11.elc efs-x19.15.elc \
  137.        emacs-19.elc fn-handler.elc \
  138.        reporter.elc
  139.  
  140. # fixup.el is never byte-compiled.  It would do no harm, but be a waste
  141. # of time.
  142.  
  143. ## Specify new rules.
  144.  
  145. .SUFFIXES: .elc .el .texi .info
  146.  
  147. .el.elc:
  148.     BDIR=$(BDIR) CWD=$(CWD) VMDIR=$(VMDIR) \
  149.   $(EMACS) -batch -no-site-file -l $(CWD)/fixup -f batch-byte-compile $(CWD)/$<
  150.  
  151. .texi.info:
  152.     $(EMACS) -batch -f batch-texinfo-format $(CWD)/$<
  153.  
  154. ## targets
  155.  
  156. # What lazy fingers buys you
  157. default: $(VERSION) dired
  158.  
  159. # .elc files depend on .el source
  160. # Do this in this brain-dead way because different makes do pattern
  161. # rules differently. grumble grumble...
  162. #
  163. # dired
  164. dired.elc: dired.el
  165. dired-mob.elc: dired-mob.el
  166. dired-oas.elc: dired-oas.el
  167. dired-rgxp.elc: dired-rgxp.el
  168. dired-shell.elc: dired-shell.el
  169. dired-vir.elc: dired-vir.el
  170. dired-xy.elc: dired-xy.el
  171. dired-grep.elc: dired-grep.el
  172. dired-uu.elc: dired-uu.el
  173. dired-fsf.elc: dired-fsf.el
  174. dired-cmpr.elc: dired-cmpr.el
  175. dired-help.elc: dired-help.el
  176. dired-diff.elc: dired-diff.el
  177. dired-sex.elc: dired-sex.el
  178. dired-mule.elc: dired-mule.el
  179. dired-xemacs.elc: dired-xemacs.el
  180. dired-faces.elc: dired-faces.el
  181. default-dir.elc: default-dir.el
  182. diff.elc: diff.el
  183. # efs core files
  184. efs.elc: efs.el
  185. efs-defun.elc: efs-defun.el
  186. efs-cp-p.elc: efs-cp-p.el
  187. efs-cu.elc: efs-cu.el
  188. efs-netrc.elc: efs-netrc.el
  189. efs-auto.elc: efs-auto.el
  190. efs-dired.elc: efs-dired.el
  191. efs-dired-mule.elc: efs-dired-mule.el
  192. efs-report.elc: efs-report.el
  193. efs-ovwrt.elc: efs-ovwrt.el
  194. efs-fnh.elc: efs-fnh.el
  195. # efs multi-OS and FTP server support
  196. efs-cms.elc: efs-cms.el
  197. efs-cms-knet.elc: efs-cms-knet.el
  198. efs-coke.elc: efs-coke.el
  199. efs-dos-distinct.elc: efs-dos-distinct.el
  200. efs-nos-ve.elc: efs-nos-ve.el
  201. efs-gwp.elc:  efs-gwp.el
  202. efs-hell.elc: efs-hell.el
  203. efs-ka9q.elc: efs-ka9q.el
  204. efs-kerberos.elc: efs-kerberos.el
  205. efs-mpe.elc: efs-mpe.el
  206. efs-mts.elc: efs-mts.el
  207. efs-mvs.elc: efs-mvs.el
  208. efs-netware.elc: efs-netware.el
  209. efs-pc.elc: efs-pc.el
  210. efs-ti-explorer.elc: efs-ti-explorer.el
  211. efs-ti-twenex.elc: efs-ti-twenex.el
  212. efs-tops-20.elc: efs-tops-20.el
  213. efs-dl.elc: efs-dl.el
  214. efs-vms.elc: efs-vms.el
  215. efs-vos.elc: efs-vos.el
  216. efs-guardian.elc: efs-guardian.el
  217. efs-plan9.elc: efs-plan9.el
  218. efs-ms-unix.elc: efs-ms-unix.el
  219. # efs support for different Emacs versions
  220. efs-18.elc: efs-18.el
  221. efs-19.elc: efs-19.el
  222. efs-19.23.elc: efs-19.23.el
  223. efs-l19.11.elc: efs-l19.11.el
  224. efs-x19.15.elc: efs-x19.15.el
  225. # efs vm support
  226. efs-vm.elc: efs-vm.el
  227. # backward compatibility files
  228. fn-handler.elc: fn-handler.el
  229. emacs-19.elc: emacs-19.el
  230. # auto-save package
  231. auto-save.elc: auto-save.el
  232.  
  233. # Core targets
  234. core: $(COREOBJS)
  235.  
  236. # Extra perks
  237. auto: core efs-auto.elc
  238. cms: core efs-cms.elc
  239. cms-knet: core efs-cms-knet.elc
  240. dos-distinct: core efs-dos-distinct.elc
  241. nos-ve: core efs-nos-ve.elc
  242. gwp: core efs-gwp.elc
  243. hell: core efs-hell.elc
  244. ka9q: core efs-ka9q.elc
  245. kerberos: core efs-kerberos.elc
  246. mpe: core efs-mpe.elc
  247. mts: core efs-mts.elc
  248. mvs: core efs-mvs.elc
  249. netware: core efs-netware.elc
  250. pc: core efs-pc.elc
  251. ti-explorer: core efs-ti-explorer.elc
  252. ti-twenex: core efs-ti-twenex.elc
  253. tops-20: core efs-tops-20.elc
  254. dl: core efs-dl.elc
  255. vms: core efs-vms.elc
  256. vos: core efs-vos.elc
  257. guardian: core efs-guardian.elc
  258. plan9: core efs-plan9.elc
  259. coke: core efs-coke.elc
  260. vm: core $(VMOBJS)
  261.  
  262. # The grand tour
  263. efs: $(EFSOBJS)
  264. dired: $(DOBJS)
  265. all: $(OBJS)
  266. info: efs.info
  267.  
  268. # Making for a specific emacs version
  269. 18: emacs-19.elc fn-handler.elc efs dired efs-18.elc dired-mule.elc \
  270.     efs-dired-mule.elc reporter.elc passwd.elc diff.elc auto-save.elc
  271. 19: fn-handler.elc efs dired efs-19.elc $(GEOBJS)
  272. 19.23: efs dired efs-19.23.elc $(GEOBJS)
  273. l19.11: efs dired efs-l19.11.elc $(XEOBJS)
  274. x19.15: efs dired efs-x19.15.elc $(XEOBJS)
  275. x20: efs dired efs-x19.15.elc $(XEOBJS) $(MULEOBJS)
  276.  
  277. # Installation
  278. install:
  279.     @echo "Installing in $(LISPDIR)..."
  280.     cp *.elc $(LISPDIR)
  281.     cp efs.info $(INFODIR)
  282. install_src:
  283.     @echo "Installing in $(LISPDIR)..."
  284.     cp `ls *.el | grep -v "fixup"` $(LISPDIR)
  285.     cp efs.texi $(TEXIDIR)
  286. install_xemacs:
  287.     @echo "Installing source in $(LISPDIR)..."
  288.     cp $(EFSSRC) $(DSRC) $(XESRC) efs-x19.15.el $(LISPDIR)
  289.     cp Makefile README fixup.el $(LISPDIR)
  290.     cp efs.texi $(TEXIDIR)
  291. diff_xemacs:
  292.     for f in $(EFSSRC) $(DSRC) $(XESRC) efs-x19.15.el \
  293.              Makefile README fixup.el; do \
  294.         if [ -e $(LISPDIR)/$$f ]; \
  295.         then\
  296.           diff -c $(LISPDIR)/$$f $$f; \
  297.         else \
  298.           diff -c /dev/null $$f; \
  299.         fi \
  300.     done
  301. install_all: install_src install
  302. clean:
  303.     rm -f $(OBJS)
  304.  
  305. autoloads: auto-autoloads.el
  306.  
  307. auto-autoloads.el: $(EFSSRC) $(DSRC) efs-x19.15.el $(XESRC) $(MULESRC)
  308.     $(EMACS) -batch -q -no-site-file \
  309.         -eval '(setq autoload-target-directory "'`pwd`'/")' \
  310.         -eval '(setq autoload-package-name "efs")' \
  311.         -l autoload \
  312.         -f batch-update-autoloads $?
  313.  
  314. ## end of Makefile ##
  315.